package udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

/**
 * 等待客户端的链接
 */
public class UdpServerDemo01 {
    public static void main(String[] args) throws IOException {
        //开放端口
        //这里的端口和发送方一样，所以哪怕端口被监听，UDP还是可以发送数据包
        //这个例子中9090，既是发送端，也是接收端
        DatagramSocket socket = new DatagramSocket(9090);
        //接受数据包
        byte[] buffer = new byte[1024];
        //只管接受
        DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);

        //阻塞接受
        //这里收到一次，就执行之后的
        socket.receive(packet);

        //接受后的值，可以从packet中拿到
        System.out.println(packet.getAddress().getHostAddress());
        //由于网络中传输的是byte，所以要转成字符串输出
        System.out.println(new String(packet.getData(), 0, packet.getLength()));

        System.out.println(packet.getData());



    }
}
